package com.huike.clues.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.huike.common.annotation.Excel;
import com.huike.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * TODO
 *
 * @Author Ls
 * @Date 2025/10/28 21:57
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TbClueVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 线索id
     */
    @ApiModelProperty("线索id")
    private Long id;

    /** 客户姓名 */
    @ApiModelProperty("客户姓名")
    @Excel(name = "客户姓名")
    private String name;

    /** 手机号 */
    @ApiModelProperty("手机号")
    @Excel(name = "手机号")
    private String phone;

    /** 渠道 */
    @ApiModelProperty("渠道")
    @Excel(name = "渠道")
    private String channel;

    /** 活动id */
    @ApiModelProperty("活动id")
    @Excel(name = "活动id")
    private Long activityId;

    /** 活动名称 */
    @ApiModelProperty("活动名称")
    private String activityName;

    /** 活动名称 */
    @ApiModelProperty("活动名称")
    private String activityInfo;

    /** 1 男 0 女 */
    @ApiModelProperty("1 男 0 女")
    @Excel(name = "1 男 0 女")
    private String sex;

    /** 年龄 */
    @ApiModelProperty("年龄")
    @Excel(name = "年龄")
    private Integer age;

    /** 微信 */
    @ApiModelProperty("微信")
    @Excel(name = "微信")
    private String weixin;

    /** qq */
    @ApiModelProperty("qq")
    @Excel(name = "qq")
    private String qq;

    /** 意向等级 */
    @ApiModelProperty("意向等级")
    @Excel(name = "意向等级")
    private String level;

    /** 意向学科 */
    @ApiModelProperty("意向学科")
    @Excel(name = "意向学科")
    private String subject;

    /** 状态(已分配1  进行中2  回收3  伪线索4) */
    @ApiModelProperty("状态(已分配1  进行中2  回收3  伪线索4)")
    @Excel(name = "状态(已分配1  进行中2  回收3  伪线索4)")
    private String status;

    /** 分配人 */
    @ApiModelProperty("分配人")
    @Excel(name = "分配人")
    private String assignBy;

    /** 分配时间 */
    @ApiModelProperty("分配时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "分配时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date assignTime;

    /** 所属人 */
    @ApiModelProperty("所属人")
    @Excel(name = "所属人")
    private String owner;

    @ApiModelProperty("ownerTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ownerTime;


    /** 伪线索失败次数(最大数3次) */
    @ApiModelProperty("伪线索失败次数(最大数3次)")
    @Excel(name = "伪线索失败次数(最大数3次)")
    private int falseCount;

    /** 下次跟进时间 */
    @ApiModelProperty("下次跟进时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nextTime;

    @ApiModelProperty("线索失效时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 创建人id */
    @ApiModelProperty("创建人id")
    @Excel(name = "创建人id")
    private Long userId;

    @JsonIgnore
    private String createTimeStr;

    @ApiModelProperty("是否转派 默认0")
    private String transfer; //是否转派 默认0


}
